package com.holly.common_view;

import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

/**
 * 标题样式，所需属性
 * 标题名数组
 * 编辑框类型，主要分可点和不可点
 *
 * @author Joey Huang（QQ:273179370）
 * @created 2016/9/13
 */
public class TitleLayout extends LinearLayout {
    /**
     * 普通的文本框类型，背景是一个灰色的边框
     */
    public static final int TYPE_NORMAL=1;
    /**
     * 可点击的文本框类型，背景除了一个灰色的边框，还有一个下拉的箭头。
     */
    public static final int TYPE_CLICKABLE=2;

    //点击监听
    private OnItemClickListener mOnItemClickListener;

    //用于存储所有item实体
    private final List<Item>mItemList=new ArrayList<>();
    //记录所有的TextView
    private final List<TextView>mTextViewList=new ArrayList<>();

    public TitleLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
        TypedArray a=context.obtainStyledAttributes(attrs,R.styleable.TitleLayout);
        String label=a.getString(R.styleable.TitleLayout_label);
        String[] labelList = label.split("|");
        LinearLayout tempItem;
        for (String bean : labelList) {
            tempItem= (LinearLayout) inflate(context,R.layout.item_title_layout,this);
            tempItem.getChildAt(0);
        }
    }

    // TODO: 2016/9/13 更新某个条目内容
    public void notifyItem(Item item){

    }

    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        mOnItemClickListener = onItemClickListener;
    }

    public interface OnItemClickListener{
        void onItemClick(Item item);
    }

    /**
     * 子布局实体类
     */
    public static class Item{
        private String label;
        private String value;
        private int position;
        private int type;

        public String getLabel() {
            return label;
        }

        public void setLabel(String label) {
            this.label = label;
        }

        public String getValue() {
            return value;
        }

        public void setValue(String value) {
            this.value = value;
        }

        public int getPosition() {
            return position;
        }

        public void setPosition(int position) {
            this.position = position;
        }
    }
}
